]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Work around libmozjs not being in ld.so.conf on Ubuntu
authorOwen Taylor <otaylor@src.gnome.org>
Mon, 3 Nov 2008 20:33:14 +0000 (20:33 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 3 Nov 2008 20:33:14 +0000 (20:33 +0000)
In our jhbuildrc, add the path containing libmozjs.so on Ubuntu to
to LD_LIBRARY_PATH. The path is heuristically derived from pkg-config
output.

svn path=/trunk/; revision=26

tools/build/jhbuildrc-gnome-shell

index f120b1d53aeb5afdf819f36d3922daf18edb5b1f..8a1cd9160859b1551f9bfc53b1c42df9e5c3c10a 100644 (file)
@@ -37,6 +37,23 @@ addpath('XDG_DATA_DIRS', '/usr/share')
 # Look in /etc/xdg for system-global autostart files
 addpath('XDG_CONFIG_DIRS', '/etc/xdg')
 
+#
+# For Ubuntu Intrepid, libmozjs lives in /usr/lib/xulrunner-<version>/lib
+# However, that path isn't in ld.so.conf, meaning that it's basically
+# impossible to use the xulrunner .pc files and libraries. Work around
+# this by deriving the path and adding it to LD_SO_CONF ourself.
+#
+import re
+import subprocess
+_pkgconfig = subprocess.Popen(['pkg-config', '--variable=sdkdir', 'mozilla-js'],
+                              stdout=subprocess.PIPE)
+_sdkdir = _pkgconfig.communicate()[0].strip()
+_pkgconfig.wait()
+if _pkgconfig.returncode == 0:
+    _libdir = re.sub('-(sdk|devel)', '', _sdkdir) + '/lib'
+    if os.path.exists(_libdir + '/libmozjs.so'):
+        addpath('LD_LIBRARY_PATH', _libdir)
+
 # Rebuild faster
 os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')